package com.atguigu.daijia.driver.service;

import com.atguigu.daijia.model.entity.driver.DriverInfo;
import com.atguigu.daijia.model.entity.driver.DriverSet;
import com.atguigu.daijia.model.form.driver.DriverFaceModelForm;
import com.atguigu.daijia.model.form.driver.UpdateDriverAuthInfoForm;
import com.atguigu.daijia.model.vo.driver.DriverAuthInfoVo;
import com.atguigu.daijia.model.vo.driver.DriverInfoVo;
import com.atguigu.daijia.model.vo.driver.DriverLoginVo;
import com.baomidou.mybatisplus.extension.service.IService;

public interface DriverInfoService extends IService<DriverInfo> {

    /**
     * 微信登录验证
     * @param code
     * @return
     */
    Long wxLogin(String code);

    DriverLoginVo getDriverInfo(Long userId);

    DriverAuthInfoVo getDriverAuthInfo(Long driverId);

    Boolean updateDriverAuthInfo(UpdateDriverAuthInfoForm updateDriverAuthInfoForm);

    Boolean creatDriverFaceModel(DriverFaceModelForm driverFaceModelForm);

    /**
     * 获取司机设置信息
     * @param driverId
     * @return
     */
    DriverSet getDriverSet(Long driverId);

    /**
     * 查询司机当天是否人脸识别
     * @param driverId
     * @return
     */
    Boolean isFaceRecognition(Long driverId);

    Boolean verifyDriverFace(DriverFaceModelForm driverFaceModelForm);

    /**
     * 更新司机接单状态
     * @param driverId
     * @param status
     * @return
     */
    Boolean updateServiceStatus(Long driverId, int status);

    DriverInfoVo getDriverInfoById(Long driverId);
}
